package com.tql.pandian.mapper;


import com.ruoyi.system.api.domain.SysRole;
import com.tql.pandian.entity.sys.SysMenuEntity;
import com.tql.pandian.entity.sys.SysRoleEntity;
import com.tql.pandian.entity.sys.SysUserEntity;
import com.tql.pandian.entity.sys.dto.SysRoleMenuDTO;
import com.tql.pandian.entity.sys.dto.SysSelectUserDTO;
import com.tql.pandian.entity.sys.dto.SysUserRoleDTO;
import com.tql.pandian.entity.sys.vo.SysMenuVo;
import com.tql.pandian.entity.sys.vo.SysRoleMenuVo;
import com.tql.pandian.entity.sys.vo.SysUserVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface UserRoleMenuMapper {

    int insertMenu(SysMenuEntity menu);

    List<SysMenuVo> selectMenuList();

    int insertRole(SysRoleEntity role);

    int updateRole(SysRoleEntity entity);

    SysRoleMenuVo selectSysRoleByRoleId(Long roleId);

    SysRoleEntity selectSysRoleByName(String roleName);

    int deleteRole(Long roleId);

    int insertUser(SysUserEntity user);

    int batchRoleMenu(List<SysRoleMenuDTO> roleMenuList);

    int deleteRoleMenu(Long roleId);

    int batchUserRole(List<SysUserRoleDTO> sysUserRoleDTO);

    int deleteUserRole(Long userId);

    int deleteUserByUserId(Long userId);

    List<Map> selectRoleList();

    List<Map> selectRoleListByUser(Long userId);

    SysUserVo selectAppUserByUserId(Long userId);

    List<Map> selectEmpUser(SysSelectUserDTO sysSelectUserDTO);

}
